
const baseurl = "http://fangchan.dingzhou4.com/";
import axios from 'axios'
import Qs from 'qs'
/*默认设置*/
const instance = axios.create({
    baseURL:baseurl,
    headers: {'X-Custom-Header': 'foobar'},
    
})

let setToken = (data)=> {
   
    if (data) {    
        data['admintoken'] = window.localStorage.Token;
        return data;
    }else {
        return {
            admintoken:window.localStorage.Token
        }
    }
       
}
/*登录 */
const login = (data) => {
        return instance.post("adminlogin",data,{
            paramsSerializer: function(data) {
                return Qs.stringify(data)
            },
        })
}

// 账号管理
const account = {
    // 列表
    list: (data,calback) => {
        return instance.get("account/adminlist",{
            params: setToken(data),
            paramsSerializer: function(params){
                return Qs.stringify(params,{arrayFormat: 'brackets'})
            }
        }).then((res)=>{
            calback('success',res)
        }).catch(error=>{
            calback('error',error.resources)
        })
    },
    // 增
    add: (data,calback) => {
        return instance.post("account/adminadd",setToken(data)).then((res) => {
            calback('success',res)
        }).catch(error => {
            calback('error',error.response)
        })
    },
    // 编辑账号信息
    edit: (data,calback) => {
        return instance.post('account/adminedit',setToken(data)).then((res) => {
            calback('success',res)
        }).catch(error => {
            calback('error',error.response)
        })
    },
    // 修改账号密码
    editPass: (data,calback) => {
        return instance.post('account/updatepass',setToken(data)).then((res) => {
            calback('success',res)
        }).catch(error => {
            calback('error',error.response)
        })
    },
}


/*中介公司账户 */
const company = {
    /*列表*/
    list: (data,calback) => {
        return instance.get("account/list",{
            params:setToken(data),
            paramsSerializer: function(params) {
                return Qs.stringify(params, {arrayFormat: 'brackets'})
            }
        }).then((res)=>{
            calback('success',res)
        }).catch(error=>{
            calback('error',error.response)
        })
    },
    /*增*/
    add: (data,calback) => {
        return instance.post("account/add",setToken(data)).then((res)=>{
            calback('success',res)
        }).catch(error=>{
            calback('error',error.response)
        })
    },
    /*修改*/
    edit: (data,calback) => {
        return instance.post("account/edit",setToken(data)).then((res)=>{
            calback('success',res)
        }).catch(error=>{
            calback('error',error.response)
        })
    },
    // 更改账号状态
    editState: (data,calback) => {
        return instance.get("account/updatecompanystatus",{
            params:setToken(data),
            paramsSerializer: function(params) {
                return Qs.stringify(params, {arrayFormat: 'brackets'})
            }
        }).then((res)=>{
            calback('success',res)
        }).catch(error=>{
            calback('error',error.response)
        })
    },
    // 续费记录列表
    renewLists: (data,calback) => {
        return instance.get("account/getpaylist",{
            params:setToken(data),
            paramsSerializer: function(params) {
                return Qs.stringify(params, {arrayFormat: 'brackets'})
            }
        }).then((res)=>{
            calback('success',res)
        }).catch(error=>{
            calback('error',error.response)
        })
    },
    // 续费
    renew: (data,calback) => {
        return instance.post("account/pay",setToken(data)).then((res)=>{
            calback('success',res)
        }).catch(error=>{
            calback('error',error.response)
        })
    },
    // 账号等级列表
    gradeList: (data,calback) => {
        return instance.get("account/memberlist",{
            params:setToken(data),
            paramsSerializer: function(params) {
                return Qs.stringify(params, {arrayFormat: 'brackets'})
            }
        }).then((res)=>{
            calback('success',res)
        }).catch(error=>{
            calback('error',error.response)
        })
    },
    // 审核续费
    renewList: (data,calback) => {
        return instance.get("account/examinerenew",{
            params:setToken(data),
            paramsSerializer: function(params) {
                return Qs.stringify(params, {arrayFormat: 'brackets'})
            }
        }).then((res)=>{
            calback('success',res)
        }).catch(error=>{
            calback('error',error.response)
        })
    },
    // 上传图片
    upload: (data,calback) => {
        return instance.post("photo",setToken(data)).then((res)=>{
            calback('success',res)
        }).catch(error=>{
            calback('error',error.response)
        })
    },
    // 删除七牛照片
    delpic: (data,calback) => {
        return instance.post("account/delqiniuimg",setToken(data)).then((res)=>{
            calback('success',res)
        }).catch(error=>{
            calback('error',error.response)
        })
    },
    // 修改删除七牛照片
    editdelpic: (data,calback) => {
        return instance.post("account/delimage",setToken(data)).then((res)=>{
            calback('success',res)
        }).catch(error=>{
            calback('error',error.response)
        })
    },
}

/*续费 */
const renew = {
    /*列表*/
    list: (data,calback) => {
        return instance.get("account/getpaylist",{
            params:data,
            paramsSerializer: function(params) {
                return Qs.stringify(params, {arrayFormat: 'brackets'})
            }
        }).then((res)=>{
            calback('success',res)
        }).catch(error=>{
            calback('error',error.response)
        })
    },
    /*续费*/
    pay: (data,calback) => {
        return instance.post("account/pay",setToken(data)).then((res)=>{
            calback('success',res)
        }).catch(error=>{
            calback('error',error.response)
        })
    },
}

/*客源*/
const resources = {
    /*列表*/
    list: (data,calback) => {
        return instance.get("test.json",{
            params:data,
            paramsSerializer: function(params) {
                return Qs.stringify(params, {arrayFormat: 'brackets'})
            }
        }).then((res)=>{
            calback('success',res)
        }).catch(error=>{
            calback('error',error.response)
        })
    },
    /*增*/
    add: (data) => {
        return instance.post("test.json",{
            data:data,
            paramsSerializer: function(data) {
                return Qs.stringify(data, {arrayFormat: 'brackets'})
            },
        })
    },
    /*删*/
    del: (data) => {
        return instance.post("test.json",{
            data:data,
            paramsSerializer: function(data) {
                return Qs.stringify(data, {arrayFormat: 'brackets'})
            },
        })
    },
    /*改*/
    edit: (data) => {
        return instance.post("test.json",{
            data:data,
            paramsSerializer: function(data) {
                return Qs.stringify(data, {arrayFormat: 'brackets'})
            },
        })
    },

}

// 分类
const type = {
    // 列表
    list:(data,calback) => {
        return instance.get("account/typelist",{
            params:setToken(data),
            paramsSerializer: function(params) {
                return Qs.stringify(params, {arrayFormat: 'brackets'})
            }
        }).then((res)=>{
            calback('success',res)
        }).catch(error=>{
            calback('error',error.response)
        })
    },
    // 增
    add:(data,calback) => {
        return instance.post("account/typeadd",setToken(data)).then((res)=>{
            calback('success',res)
        }).catch(error=>{
            calback('error',error.response)
        })
    },
    // 删
    del:(data,calback) => {
        
        return instance.post("account/typedel",setToken(data)).then((res)=>{
            calback('success',res)
        }).catch(error=>{
            calback('error',error.response)
            
        })
    },
    // 改
    edit:(data,calback) => {
        return instance.post("account/typeedit",setToken(data)).then((res)=>{
            calback('success',res)
        }).catch(error=>{
            calback('error',error.response)
        })
    },
    // 种类列表
    typeList:(data,calback) => {
        return instance.get("account/typedetaillist",{
            params:setToken(data),
            paramsSerializer: function(params) {
                return Qs.stringify(params, {arrayFormat: 'brackets'})
            }
        }).then((res)=>{
            calback('success',res)
        }).catch(error=>{
            calback('error',error.response)
        })
    },
    // 种类 增
    typeAdd:(data,calback) => {
        return instance.post("account/typedetailadd",setToken(data)).then((res)=>{
            calback('success',res)
        }).catch(error=>{
            calback('error',error.response)
        })
    },
    // 种类 删
    typeDel:(data,calback) => {
        
        return instance.post("account/typedetaildel",setToken(data)).then((res)=>{
            console.log(res);
            calback('success',res)
        }).catch(error=>{
            calback('error',error.response);
            console.log(error.response);
        })
    },
    // 种类 改
    typeEdit:(data,calback) => {
        return instance.post("account/typedetailedit",setToken(data)).then((res)=>{
            calback('success',res)
        }).catch(error=>{
            calback('error',error.response)
        })
    },
}

// 三级分类
const leveltype = {
    // 列表
    list:(data,calback) => {
        return instance.get("system/list",{
            params:setToken(data),
            paramsSerializer: function(params) {
                return Qs.stringify(params, {arrayFormat: 'brackets'})
            }
        }).then((res)=>{
            calback('success',res)
        }).catch(error=>{
            calback('error',error.response)
        })
    },
    // 增
    add:(data,calback) => {
        return instance.post("system/add",setToken(data)).then((res)=>{
            calback('success',res)
        }).catch(error=>{
            calback('error',error.response)
        })
    },
    // 删
    del:(data,calback) => {
        
        return instance.get("system/del",{
            params:setToken(data),
            paramsSerializer: function(params) {
                return Qs.stringify(params, {arrayFormat: 'brackets'})
            }
        }).then((res)=>{
            calback('success',res)
        }).catch(error=>{
            calback('error',error.response)
        })
    },
    // 改
    edit:(data,calback) => {
        return instance.post("system/edit",setToken(data)).then((res)=>{
            calback('success',res)
        }).catch(error=>{
            calback('error',error.response)
        })
    },
    // 种类列表
    typeList:(data,calback) => {
        return instance.get("account/typedetaillist",{
            params:setToken(data),
            paramsSerializer: function(params) {
                return Qs.stringify(params, {arrayFormat: 'brackets'})
            }
        }).then((res)=>{
            calback('success',res)
        }).catch(error=>{
            calback('error',error.response)
        })
    },
    // 种类 增
    typeAdd:(data,calback) => {
        return instance.post("account/typedetailadd",setToken(data)).then((res)=>{
            calback('success',res)
        }).catch(error=>{
            calback('error',error.response)
        })
    },
    // 种类 删
    typeDel:(data,calback) => {
        
        return instance.post("account/typedetaildel",setToken(data)).then((res)=>{
            console.log(res);
            calback('success',res)
        }).catch(error=>{
            calback('error',error.response);
            console.log(error.response);
        })
    },
    // 种类 改
    typeEdit:(data,calback) => {
        return instance.post("account/typedetailedit",setToken(data)).then((res)=>{
            calback('success',res)
        }).catch(error=>{
            calback('error',error.response)
        })
    },
}

// 、、、、、、、、、、、、、、、、、、、

// 权限
const management = {
    // modules 列表
    moduleList:(data,calback) => {
        return instance.get("core/module/list",{
            params:setToken(data),
            paramsSerializer: function(params) {
                return Qs.stringify(params, {arrayFormat: 'brackets'})
            }
        }).then((res)=>{
            calback('success',res)
        }).catch(error=>{
            calback('error',error.response)
        })
    },
    // 增
    moduleAdd:(data,calback) => {
        return instance.post("core/module/add",setToken(data)).then((res)=>{
            calback('success',res)
        }).catch(error=>{
            calback('error',error.response)
        })
    },
    // 删
    moduleDel:(data,calback) => {
        
        return instance.post("core/module/delete",setToken(data)).then((res)=>{
            calback('success',res)
        }).catch(error=>{
            calback('error',error.response)
            
        })
    },
    // 改
    moduleEdit:(data,calback) => {
        return instance.post("core/module/edit",setToken(data)).then((res)=>{
            calback('success',res)
        }).catch(error=>{
            calback('error',error.response)
        })
    },

    // 权限
    authorityList:(data,calback) => {
        return instance.get("core/authority/list",{
            params:setToken(data),
            paramsSerializer: function(params) {
                return Qs.stringify(params, {arrayFormat: 'brackets'})
            }
        }).then((res)=>{
            calback('success',res)
        }).catch(error=>{
            calback('error',error.response)
        })
    },
    // 增
    authorityAdd:(data,calback) => {
        return instance.post("core/authority/add",setToken(data)).then((res)=>{
            calback('success',res)
        }).catch(error=>{
            calback('error',error.response)
        })
    },
    // 删
    authorityDel:(data,calback) => {
        
        return instance.post("core/authority/delete",setToken(data)).then((res)=>{
            calback('success',res)
        }).catch(error=>{
            calback('error',error.response)
            
        })
    },
    // 改
    authorityEdit:(data,calback) => {
        return instance.post("core/authority/edit",setToken(data)).then((res)=>{
            calback('success',res)
        }).catch(error=>{
            calback('error',error.response)
        })
    },


}

//创建表
const creattable = {
    // 审核中介公司的账号
    examineaccount:(data,calback) => {
        return instance.get("account/examineaccount",{
            params:setToken(data),
            paramsSerializer: function(params) {
                return Qs.stringify(params, {arrayFormat: 'brackets'})
            }
        }).then((res)=>{
            calback('success',res)
        }).catch(error=>{
            calback('error',error.response)
        })
    },
    // 获取表状态
    gettablestatus:(data,calback) => {
        return instance.get("createtable/gettablestatus",{
            params:setToken(data),
            paramsSerializer: function(params) {
                return Qs.stringify(params, {arrayFormat: 'brackets'})
            }
        }).then((res)=>{
            calback('success',res)
        }).catch(error=>{
            calback('error',error.response)
        })
    },
    // 员工业绩统计表
    createachievement:(data,calback) => {
        return instance.get("createtable/createachievement",{
            params:setToken(data),
            paramsSerializer: function(params) {
                return Qs.stringify(params, {arrayFormat: 'brackets'})
            }
        }).then((res)=>{
            calback('success',res)
        }).catch(error=>{
            calback('error',error.response)
        })
    },
    // 合同表
    createcontract:(data,calback) => {
        return instance.get("createtable/createcontract",{
            params:setToken(data),
            paramsSerializer: function(params) {
                return Qs.stringify(params, {arrayFormat: 'brackets'})
            }
        }).then((res)=>{
            calback('success',res)
        }).catch(error=>{
            calback('error',error.response)
        })
    },
    // 合同诚意金表
    createcem:(data,calback) => {
        return instance.get("createtable/createcem",{
            params:setToken(data),
            paramsSerializer: function(params) {
                return Qs.stringify(params, {arrayFormat: 'brackets'})
            }
        }).then((res)=>{
            calback('success',res)
        }).catch(error=>{
            calback('error',error.response)
        })
    },
    // 规则表
    createconversionrules:(data,calback) => {
        return instance.get("createtable/createconversionrules",{
            params:setToken(data),
            paramsSerializer: function(params) {
                return Qs.stringify(params, {arrayFormat: 'brackets'})
            }
        }).then((res)=>{
            calback('success',res)
        }).catch(error=>{
            calback('error',error.response)
        })
    },
    // 客源跟进记录表
    createcustomerfollow:(data,calback) => {
        return instance.get("createtable/createcustomerfollow",{
            params:setToken(data),
            paramsSerializer: function(params) {
                return Qs.stringify(params, {arrayFormat: 'brackets'})
            }
        }).then((res)=>{
            calback('success',res)
        }).catch(error=>{
            calback('error',error.response)
        })
    },
    // 客源/房源跟进记录提醒表
    createcfs:(data,calback) => {
        return instance.get("createtable/createcfs",{
            params:setToken(data),
            paramsSerializer: function(params) {
                return Qs.stringify(params, {arrayFormat: 'brackets'})
            }
        }).then((res)=>{
            calback('success',res)
        }).catch(error=>{
            calback('error',error.response)
        })
    },
    // 创建客源表
    createcustomers:(data,calback) => {
        return instance.get("createtable/createcustomers",{
            params:setToken(data),
            paramsSerializer: function(params) {
                return Qs.stringify(params, {arrayFormat: 'brackets'})
            }
        }).then((res)=>{
            calback('success',res)
        }).catch(error=>{
            calback('error',error.response)
        })
    },
    // 房源跟进表
    createfollow:(data,calback) => {
        return instance.get("createtable/createfollow",{
            params:setToken(data),
            paramsSerializer: function(params) {
                return Qs.stringify(params, {arrayFormat: 'brackets'})
            }
        }).then((res)=>{
            calback('success',res)
        }).catch(error=>{
            calback('error',error.response)
        })
    },
    // 操作日志表
    createlog:(data,calback) => {
        return instance.get("createtable/createlog",{
            params:setToken(data),
            paramsSerializer: function(params) {
                return Qs.stringify(params, {arrayFormat: 'brackets'})
            }
        }).then((res)=>{
            calback('success',res)
        }).catch(error=>{
            calback('error',error.response)
        })
    },
    // 手机端 工作计划表
    createmobileplan:(data,calback) => {
        return instance.get("createtable/createmobileplan",{
            params:setToken(data),
            paramsSerializer: function(params) {
                return Qs.stringify(params, {arrayFormat: 'brackets'})
            }
        }).then((res)=>{
            calback('success',res)
        }).catch(error=>{
            calback('error',error.response)
        })
    },
    // 公司房客自动转移规则表
    createmoverule:(data,calback) => {
        return instance.get("createtable/createmoverule",{
            params:setToken(data),
            paramsSerializer: function(params) {
                return Qs.stringify(params, {arrayFormat: 'brackets'})
            }
        }).then((res)=>{
            calback('success',res)
        }).catch(error=>{
            calback('error',error.response)
        })
    },
    // 公司规则状态更新表
    createrulestatus:(data,calback) => {
        return instance.get("createtable/createrulestatus",{
            params:setToken(data),
            paramsSerializer: function(params) {
                return Qs.stringify(params, {arrayFormat: 'brackets'})
            }
        }).then((res)=>{
            calback('success',res)
        }).catch(error=>{
            calback('error',error.response)
        })
    },
    // 新闻公告表
    createnews:(data,calback) => {
        return instance.get("createtable/createnews",{
            params:setToken(data),
            paramsSerializer: function(params) {
                return Qs.stringify(params, {arrayFormat: 'brackets'})
            }
        }).then((res)=>{
            calback('success',res)
        }).catch(error=>{
            calback('error',error.response)
        })
    },
    // 房图片
    createimgurl:(data,calback) => {
        return instance.get("createtable/createimgurl",{
            params:setToken(data),
            paramsSerializer: function(params) {
                return Qs.stringify(params, {arrayFormat: 'brackets'})
            }
        }).then((res)=>{
            calback('success',res)
        }).catch(error=>{
            calback('error',error.response)
        })
    },
    // 房子信息表
    createroominfo:(data,calback) => {
        return instance.get("createtable/createroominfo",{
            params:setToken(data),
            paramsSerializer: function(params) {
                return Qs.stringify(params, {arrayFormat: 'brackets'})
            }
        }).then((res)=>{
            calback('success',res)
        }).catch(error=>{
            calback('error',error.response)
        })
    },
    // 楼盘字典表
    createroomwordbook:(data,calback) => {
        return instance.get("createtable/createroomwordbook",{
            params:setToken(data),
            paramsSerializer: function(params) {
                return Qs.stringify(params, {arrayFormat: 'brackets'})
            }
        }).then((res)=>{
            calback('success',res)
        }).catch(error=>{
            calback('error',error.response)
        })
    },
    // 楼盘字典对应的栋座详细信息表
    createroomwordbookinfo:(data,calback) => {
        return instance.get("createtable/createroomwordbookinfo",{
            params:setToken(data),
            paramsSerializer: function(params) {
                return Qs.stringify(params, {arrayFormat: 'brackets'})
            }
        }).then((res)=>{
            calback('success',res)
        }).catch(error=>{
            calback('error',error.response)
        })
    },
    // 员工考勤表
    createstaffattendance:(data,calback) => {
        return instance.get("createtable/createstaffattendance",{
            params:setToken(data),
            paramsSerializer: function(params) {
                return Qs.stringify(params, {arrayFormat: 'brackets'})
            }
        }).then((res)=>{
            calback('success',res)
        }).catch(error=>{
            calback('error',error.response)
        })
    },
    // 公司内部员工论坛表
    createstaffforum:(data,calback) => {
        return instance.get("createtable/createstaffforum",{
            params:setToken(data),
            paramsSerializer: function(params) {
                return Qs.stringify(params, {arrayFormat: 'brackets'})
            }
        }).then((res)=>{
            calback('success',res)
        }).catch(error=>{
            calback('error',error.response)
        })
    },
    // 内部员工评论表
    createstaffforumcomment:(data,calback) => {
        return instance.get("createtable/createstaffforumcomment",{
            params:setToken(data),
            paramsSerializer: function(params) {
                return Qs.stringify(params, {arrayFormat: 'brackets'})
            }
        }).then((res)=>{
            calback('success',res)
        }).catch(error=>{
            calback('error',error.response)
        })
    },
    // 中介公司员工 工作总结表
    createworksummary:(data,calback) => {
        return instance.get("createtable/createworksummary",{
            params:setToken(data),
            paramsSerializer: function(params) {
                return Qs.stringify(params, {arrayFormat: 'brackets'})
            }
        }).then((res)=>{
            calback('success',res)
        }).catch(error=>{
            calback('error',error.response)
        })
    },
}

//文章
const articlelist = {
    // 列表
    list:(data,calback) => {
        return instance.get("article/list",{
            params:setToken(data),
            paramsSerializer: function(params) {
                return Qs.stringify(params, {arrayFormat: 'brackets'})
            }
        }).then((res)=>{
            calback('success',res)
        }).catch(error=>{
            calback('error',error.response)
        })
    },
    // 增
    add:(data,calback) => {
        return instance.post("article/add",setToken(data)).then((res)=>{
            calback('success',res)
        }).catch(error=>{
            calback('error',error.response)
        })
    },
    // 删
    del:(data,calback) => {
        
        return instance.post("article/del",setToken(data)).then((res)=>{
            calback('success',res)
        }).catch(error=>{
            calback('error',error.response)
            
        })
    },
    // 改
    edit:(data,calback) => {
        return instance.post("article/edit",setToken(data)).then((res)=>{
            calback('success',res)
        }).catch(error=>{
            calback('error',error.response)
        })
    },
    // 启用禁用
    updatestatus:(data,calback) => {
        return instance.post("article/updatestatus",setToken(data)).then((res)=>{
            calback('success',res)
        }).catch(error=>{
            calback('error',error.response)
        })
    },
}



export default {baseurl,resources,login,company,renew,setToken,account,type,leveltype,management,creattable,articlelist}

